package cl.utfsm.ci.business.proxy;
import cl.utfsm.ci.business.service.Bodegas;
import cl.utfsm.ci.business.service.ClsInmobiliaria;
import cl.utfsm.ci.business.service.Departamentos;
import cl.utfsm.ci.business.service.Estacionamiento;
import cl.utfsm.ci.business.service.Etapas;
import cl.utfsm.ci.business.service.Service1Locator;
import cl.utfsm.ci.business.service.ReturnLogin;
import cl.utfsm.ci.business.service.TipoDepartamento;

public class WsProxyInmobiliaria {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		//Test login
		ReturnLogin[] retorno = null;
		retorno = loginUser("admin", "demo");
		 for (int i = 0; i<retorno.length; i++){
			 System.out.println("Cod.Proyecto: " + retorno[i].getCODPROYECTO());
			 System.out.println("Nom.Proyecto: " + retorno[i].getNOMPROYECTO());
		 }
		 
		//Test etapas
		Etapas[] etapas = null;
		etapas = getEtapas(145);
		 for (int i = 0; i<etapas.length; i++){
			 System.out.println("Id Etapa: " + etapas[i].getIDETAPA());
			 System.out.println("Id Proyecto: " + etapas[i].getIDPROYECTO());
			 System.out.println("Nom Etapa: " + etapas[i].getNOMBR());
		 }
		 
		//Test datos inmueble
		ClsInmobiliaria datos = null;
		datos = getInmuebleProyecto(145, 1);
		
		//Bodega
		Bodegas[] bodegas = null;
		bodegas = datos.getArrBodega();
		
		 for (int i = 0; i<bodegas.length; i++){
			 System.out.println("Id Bodega: " + bodegas[i].getIDBODEGA());
			 System.out.println("Id Proyecto: " + bodegas[i].getIDPROYECTO());
			 System.out.println("Id Etapa: " + bodegas[i].getIDETAPA());
			 System.out.println("Ubicacion: " + bodegas[i].getUBICACION());
			 System.out.println("Precio: " + bodegas[i].getPRECIO());
			 System.out.println("Estado: " + bodegas[i].getESTADO());
		 }
		 
		//Estacionamientos
		Estacionamiento[] Estacionamientos = null;
		Estacionamientos = datos.getArrEstacionamiento();
		
		 for (int i = 0; i<Estacionamientos.length; i++){
			 System.out.println("Id Estacionamiento: " + Estacionamientos[i].getIDESTAC());
			 System.out.println("Id Proyecto: " + Estacionamientos[i].getIDPROYECTO());
			 System.out.println("Id Etapa: " + Estacionamientos[i].getIDETAPA());
			 System.out.println("Ubicacion: " + Estacionamientos[i].getUBICACION());
			 System.out.println("Precio: " + Estacionamientos[i].getPRECIO());
			 System.out.println("Estado: " + Estacionamientos[i].getESTADO());
		 }
		 
		//Departamentos
		Departamentos[] Departamentos = null;
		Departamentos = datos.getArrDepartamento();
		
		 for (int i = 0; i<Departamentos.length; i++){
			 System.out.println("Id Departamento: " + Departamentos[i].getIDDEPARTAMENTO());
			 System.out.println("Id Proyecto: " + Departamentos[i].getIDPROYECTO());
			 System.out.println("Id Etapa: " + Departamentos[i].getIDETAPA());
			 System.out.println("Tipo departamento: " + Departamentos[i].getIDTIPODEPA());
			 System.out.println("Piso: " + Departamentos[i].getPISO());
			 System.out.println("Torre: " + Departamentos[i].getTORRE());
			 System.out.println("Orientaci�n: " + Departamentos[i].getORIENTACION());
			 System.out.println("Precio: " + Departamentos[i].getPRECIO());
			 System.out.println("Estado: " + Departamentos[i].getESTADO());
		 }

		//Tipo Departamentos
		TipoDepartamento[] tipoDepartamento = null;
		tipoDepartamento = datos.getArrTipodepa();
		
		 for (int i = 0; i<tipoDepartamento.length; i++){
			 System.out.println("Id Tipo departamento: " + tipoDepartamento[i].getIDTIPODEPA());
			 System.out.println("Dormitorios: " + tipoDepartamento[i].getDORMITORIOS());
			 System.out.println("Ba�os: " + tipoDepartamento[i].getBANOS());
			 System.out.println("m2UTIL: " + tipoDepartamento[i].getM2UTIL());
			 System.out.println("m2LOGIA: " + tipoDepartamento[i].getM2LOGIA());
			 System.out.println("m2TERRAZA: " + tipoDepartamento[i].getM2TERRAZA());
			 System.out.println("m2SHAFT: " + tipoDepartamento[i].getM2SHAFT());
			 System.out.println("m2PALIER: " + tipoDepartamento[i].getM2PALIER());
			 System.out.println("m2ESPACIOCOMUN: " + tipoDepartamento[i].getM2ESPACIOCOMUN());
			 System.out.println("m2TOTAL: " + tipoDepartamento[i].getM2TOTAL());
		 }
	}
	
	public static ReturnLogin[] loginUser(String username, String clave){
		
		Service1Locator serviceLocator = null;
		ReturnLogin[] returnLogin = null;
		try{
			serviceLocator = new Service1Locator(); 
			returnLogin = serviceLocator.getService1Soap().wsLogin(username, clave);

		}catch (Exception ex){
			ex.printStackTrace();
		}
		return returnLogin;
	}
	
	public static Etapas[] getEtapas(int idProyecto){
		
		Service1Locator serviceLocator = null;
		Etapas[] retEtapas = null;
		try{
			serviceLocator = new Service1Locator(); 
			retEtapas = serviceLocator.getService1Soap().wsEtapas(idProyecto);

		}catch (Exception ex){
			ex.printStackTrace();
		}
		return retEtapas;
	}
	
	public static ClsInmobiliaria getInmuebleProyecto(int idProyecto, int idEtapa){
		
		Service1Locator serviceLocator = null;
		ClsInmobiliaria datInmobi = null;
		try{
			serviceLocator = new Service1Locator(); 
			datInmobi = serviceLocator.getService1Soap().wsInmuebleProyecto(idProyecto, idEtapa);

		}catch (Exception ex){
			ex.printStackTrace();
		}
		return datInmobi;
	}
}
